To compress data with zEDC,
your installation must meet the system requirements. See Requirements for zEnterprise Data Compression for the system requirements for
zEDC.
To use the IBM-provided zlib compatible C library for data compression
or data expansion services, follow these steps:
- Link or re-link applications to use the IBM-provided zlib.
The
IBM-provided zlib is an archive file in the z/OS UNIX System Services
file system and can be statically linked into your applications. The
paths for the zlib archive file and the zlib header files are:
- Path for the zlib archive file:
- /usr/lpp/hzc/lib/libzz.a
- Path for the zlib header files:
- /usr/lpp/hzc/include/
Note: When a new IBM service is provided for
zlib, all applications that statically link zlib must re-link in order
to use the updated IBM-provided zlib and take advantage of the new
function.
- Provide System Authorization Facility (SAF) Access:
- Access to zEDC Express is protected by the SAF FACILITY resource
class: FPZ.ACCELERATOR.COMPRESSION.
- Give READ access to FPZ.ACCELERATOR.COMPRESSION to the identity
of the address space that the zlib task will run in.
- Use the z/OS UNIX environmental variable, _HZC_COMPRESSION_METHOD,
to control if zEDC is used for data compression.
Note: If the value
of software is set, software-based compression
services are used. All other values result in the default behavior
of attempting to use zEDC for data compression.
- Ensure that adequately sized input buffers are available. If the
input buffer size falls below the minimum threshold, data compression
occurs using zlib software compression and not zEDC. This threshold
can be controlled at a system level using the PARMLIB member IQPPRMxx.
- Allocate the correct amount of storage for I/O buffers. The zEDC
requests generated by zlib use predefined I/O buffer pools. The size
of these I/O buffer pools can be set using PARMLIB member IQPPRMxx.
When zlib is statically linked into an application that runs on
software or hardware that is not compatible with zEDC, zlib uses the
following compression and decompression:
Table 1. Compression
and decompression with zlibHardware level |
z/OS level |
zEDC Express |
Description |
---|
zEC12 (with GA2 level microcode) |
z/OS V2R1 |
Active |
zEDC is used for both data compression and decompression. |
zEC12 (with GA2 level microcode) |
z/OS V2R1 |
Not Active |
Requirements are not met for zEDC. When zEDC
Express is not available, traditional software zlib is used for compression
and decompression. |
Pre-zEC12 (with GA2 level microcode) |
z/OS V2R1 or pre-z/OS V2R1 |
N/A |
Requirements are not met for zEDC. When zEDC
Express is not available, traditional software zlib is used for compression
and decompression. |
zEDC error handling:
- If a System z compression accelerator is unavailable, data compression
requests transfer to another System z compression accelerator configured
to the same partition. These request transfers are transparent to
the application.
- If all System z compression accelerators are unavailable, an error
message is sent to the application.